package main

import (
	"fmt"
	"net"
)

// tcp server端
func processConn(conn net.Conn) {
	defer conn.Close() // 关闭连接
	// 3. 通信
	var temp [128]byte
	for {
		n, err := conn.Read(temp[:])
		if err != nil {
			fmt.Println("read from conn failed, err:", err)
			return
		}
		fmt.Println(string(temp[:n]))
	}
}

func main() {
	// 1. 启动服务
	listener, err := net.Listen("tcp", "127.0.0.1:8000")
	if err != nil {
		fmt.Println("err :", err)
		return
	}

	for {
		// 2. 等待连接
		conn, err := listener.Accept()
		if err != nil {
			fmt.Println("accept failed, err:", err)
			return
		}
		go processConn(conn)
	}
}
